/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package co.edu.univalle.logica;

import co.edu.univalle.modelo.Clientes;
import co.edu.univalle.persistencia.IClienteDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author CQ 43 - 450LA
 */
@Stateless
public class ClienteLogica implements ClienteLogicaLocal {
    

@EJB
private IClienteDAO clienteDAO;

    @Override
    public void registrar(Clientes cliente) throws Exception {
        if(cliente==null){
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        Clientes objCliente = clienteDAO.consultarPorCedula(cliente.getCliCedula());
        
        if(objCliente != null){
            throw new Exception ("el cliente ya existe");
        }
        if(cliente.getCliNombre()==null || cliente.getCliNombre().equals("")){
            
        throw new Exception("el nombre no puede ser vacio");
    }
     
        }

    @Override
    public void eliminar(Clientes cliente) throws Exception {
             if(cliente==null){
                 throw new Exception ("el cliente no tiene informacion");
        }
        Clientes objCliente = clienteDAO.consultarPorCedula(cliente.getCliCedula());
        
        if(objCliente == null){
            throw new Exception ("el cliente a eliminar No existe");
        }
     
        clienteDAO.eliminar(objCliente);
    }
    @Override
    public void modificar(Clientes cliente) throws Exception {
            if(cliente==null){
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        Clientes objCliente = clienteDAO.consultarPorCedula(cliente.getCliCedula());
        
        if(objCliente == null){
            throw new Exception ("el cliente ya No existe");
        }
        if(cliente.getCliNombre()==null || cliente.getCliNombre().equals("")){
            
        throw new Exception("el nombre no puede ser vacio");
    
    }
        clienteDAO.modificar(cliente);
    }

    @Override
    public List<Clientes> consultar() throws Exception {
        return clienteDAO.consultar();
    }

    @Override
    public Clientes consultarPorDocumento(Long documento) throws Exception {
        if(documento==null || documento==0){
            throw new Exception("el documento es obligatorio");
        }
        return clienteDAO.consultarPorCedula(documento);
    }


    
   


}
